d19877f286c734ca3edcea292e2371a8077329dc,src/org/apache/cassandra/dht/Range.java,Range,contains,#Token#,82
Before Change
*/
public boolean contains(Token bi)
{
if ( left_.compareTo(right_) > 0 )
{
/*
* left is greater than right we are wrapping around.
* So if the interval is [a,b) where a > b then we have
* 3 cases one of which holds for any given token k.
* (1) k > a -- return true
* (2) k < b -- return true
* (3) b < k < a -- return false
*/
if ( bi.compareTo(left_) >= 0 )
return true;
else return right_.compareTo(bi) > 0;
}
else if ( left_.compareTo(right_) < 0 )
{
/*
* This is the range [a, b) where a < b.
*/
return ( bi.compareTo(left_) >= 0 && right_.compareTo(bi) >=0 );
}
else
{
After Change
*/
public boolean contains(BigInteger bi)
{
if ( left_.subtract(right_).signum() > 0 )
{
/*
* left is greater than right we are wrapping around.
* So if the interval is [a,b) where a > b then we have
* 3 cases one of which holds for any given token k.
* (1) k > a -- return true
* (2) k < b -- return true
* (3) b < k < a -- return false
*/
if ( bi.subtract(left_).signum() >= 0 )
return true;
else if (right_.subtract(bi).signum() > 0 )
return true;
else
return false;
}
else if ( left_.subtract(right_).signum() < 0 )
{
/*
* This is the range [a, b) where a < b.
*/
return ( bi.subtract(left_).signum() >= 0 && right_.subtract(bi).signum() >=0 );
}
else
{